package cn.design.realize.impl;

import cn.design.realize.RemoteControlCommand;
import cn.design.realize.TelevisionReceiver;

/**
 * @author dlq
 * @description 具体命令角色(ConcreteCommand): 定义一个接收者和行为之间的弱耦合；实现execute()方法，负责调用接收者(Receiver)的相应操作.execute()方法通常叫做执行方法，
 *                  即在方法中定义一个Receiver私有属性
 *          具体的命令，实现命令类的抽象接口,在 execute 中 具体下达什么命令,这里是一个关机的命令
 *          这个是一个开机命令,调用 接收者 Receiver 真正的操作(方法)
 * @date 2020/9/27 10:33
 * @since 1.0
 */
public class ShutDownCommand implements RemoteControlCommand {

    private TelevisionReceiver receiver;
    public ShutDownCommand(TelevisionReceiver receiver){
        this.receiver = receiver;
    }
    @Override
    public void execute() {
        System.out.println("接收...关机命令....");
        receiver.shutDown();
    }
}
